package com.mf.entity.bo;

import com.mf.enums.roster.RosterTypeEnum;
import lombok.ToString;

import java.io.Serial;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

import lombok.Getter;
import lombok.Setter;

/**
 * @author mf
 * @since 2024-09-01
 */
@Getter
@ToString
@Setter
@TableName("p_roster")

public class RosterBo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 员工类型
     */
    private RosterTypeEnum type;



    /**
     * 员工姓名
     */
    private String name;

    /**
     * 1:男；0:女
     */
    private Integer gender;

    /**
     * 出生日期
     */
    private LocalDate birthday;

    /**
     * 籍贯
     */
    private String nativePlace;

    /**
     * 民族
     */
    private String nation;

    /**
     * 体重
     */
    private Integer weight;

    /**
     * 身高
     */
    private Integer height;

    /**
     * 政治面貌
     */
    private String politicsStatus;

    /**
     * 学历
     */
    private String education;

    /**
     * 婚姻状况
     */
    private String marriageStatus;

    /**
     * 身份证
     */
    private String identityNumber;

    /**
     * 身份证有效期
     */
    private LocalDate identityEnd;

    /**
     * 身份证地址
     */
    private String identityAddress;

    /**
     * 手机号
     */
    private String phoneNumber;

    /**
     * 当前居住地址
     */
    private String residentialAddress;

    /**
     * 紧急联系人姓名
     */
    private String urgencyName;

    /**
     * 紧急联系人关系
     */
    private String urgencyRelation;

    /**
     * 紧急联系人号码
     */
    private String urgencyPhone;

    /**
     * 应聘来源
     */
    private String recruitSource;

    /**
     * 疾病名称
     */
    private String illnessName;

    /**
     * 入职日期
     */
    private LocalDate entryDate;

    /**
     * 入职部门
     */
    private Integer entryDeptId;

    /**
     * 入职岗位
     */
    private Integer entryJobId;

    /**
     * 介绍人姓名
     */
    private String introduceName;

    /**
     * 介绍人关系
     */
    private String introduceRelation;

    /**
     * 0:保存;1:提交；9：离职
     */
    private Integer status;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 备注
     */
    private String remark;
    /**
     * 工号
     */
    private String empNo;

    /**
     * 转正日期
     */
    private LocalDate normalDate;

    /**
     * 离职类型
     */
    private String leaveType;

    private LocalDateTime createdTime;

    private LocalDateTime updateTime;
}